#include <fhetest/TestNode.h>
#include <fhe/core/Registerers.h>

namespace fhe
{
  namespace test
  {
    FHE_NODE( fhetest, TestNode );
    FHE_NODE_INTERFACE( fhetest, TestNode, fhetest, ITestNode );
    FHE_FUNC( fhetest, TestNode, get );
    FHE_FUNC( fhetest, TestNode, set );
    FHE_VAR( fhetest, TestNode, s );
    FHE_VAR( fhetest, TestNode, b );
    FHE_VAR( fhetest, TestNode, i );
    FHE_VAR( fhetest, TestNode, f );
    FHE_VAR( fhetest, TestNode, v2d );
    FHE_VAR( fhetest, TestNode, v3d );
    FHE_VAR( fhetest, TestNode, r2d );
    FHE_VAR( fhetest, TestNode, r3d );
    FHE_VAR( fhetest, TestNode, m2d );
    FHE_VAR( fhetest, TestNode, m3d );

    TestNode::TestNode()
      : Node()
      , ITestNode()
      , b( false )
      , i( 0 )
      , f( 0 )
      , i_( 0 )
    {
    }
    
    void TestNode::set( int i )
    {
      i_ = i;
    }
    
    int TestNode::get() const
    {
      return i_;
    }
    
    std::string TestNode::msg()
    {
      return "herro";
    }
  }
}
